<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        //利用构造函数创建对象
        //我们需要创建四大天王的对象   相同的属性：名字 年龄 性别 相同的方法：唱歌
        //构造函数的语法格式
        // function 构造函数名(){
        //     this.属性=值;
        //     this.方法=function(){

        //     }
        // }
        //  new 构造函数名();

        function Star(uname, age, sex) {  //Star泛指某一大类，它类似于java中的类(class)
            this.name = uname;
            this.age = age;
            this.sex = sex;
            this.sing = function (sang) {
                console.log(sang);
            }

        }
        var ldh = new Star('刘德华', '18', '男');  //调用函数返回的是一个对象
        console.log(typeof ldh);
        console.log(ldh.name);
        console.log(ldh.sex);
        ldh.sing('冰雨');

        var zxy = new Star('张学友', '34', '男');  //对象 特指，是一个具体的额事物
        console.log(zxy.name);
        console.log(zxy.age);
        zxy.sing('向玉兰');
        //1.构造函数名字首字母要大写
        //2.我们构造函数不需要return就可以返回结果
        //3.调用构造函数用New.
        //4.new Star() 调用函数就创建了一个对象 ldh{}
        //我们属性和方法前面必须添加this


        //我们利用构造函数创建对象的过程我么也称之为对象实例化




    </script>
</head>

<body>

</body>

</html>